The present disclosure relates generally to information handling systems, and more particularly to a protocol processing optimization system used for information handling system network communications.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is an information handling system (IHS). An IHS generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in IHSs allow for IHSs to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, IHSs may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
IHSs communicate with each other over networks using communication protocols. The Internet protocol suite refers to the set of communications protocols used for the Internet and similar networks, and is commonly referred to as the TCP/IP stack in an IHS in reference to the first networking protocols it defined: Transmission Control Protocol (TCP) and Internet Protocol (IP). Conventionally, TCP/IP stacks have been co-resident with operating systems on any information handing system that required communication services. This intertwining of network communication protocol stacks and operating systems was a choice made by early developers working with one processing resource in the IHS (e.g., one processor and one memory device) in order to achieve desired speed and efficiency for the IHS.
Today, there are many application-specific enhancements and offloads (e.g., stateful offloads (e.g., transmission control protocol (TCP) or Internet protocol (IP) offloads that keep track of the protocol connection state) and stateless offloads (e.g. offloads that do checksumming, large segmentation handling for TCP, etc.) that offload work from the host CPU) that may be implemented in TCP/IP stacks. With conventional client/server models, a TCP/IP stack on one platform may communicate with a TCP/IP stack on any of a plurality of other platforms, ensuring that a single TCP/IP stack instance will not be fully optimized to provide superior application performance over the network using TCP/IP for every type of service and/or offload that may be desired. Enhancements that have been proposed to TCP/IP that adapt it to better performance for specific applications or application scenarios become a burden to carry over on every TCP/IP stack release or revision. No conventional IHS TCP/IP stack will have all the enhancements or implement all the TCP/IP Requests For Comment (RFCs), as it is simply not practical to provide a “super” TCP/IP on every IHS. Furthermore, some enhancements for TCP/IP may be counter-productive (e.g., a TCP stack that does small message passing will not require a large maximum transmission unit (MTU) enhancement.)
Accordingly, it would be desirable to provide an improved network communication system.